import Coupon from '../entity/Coupon'
import CouponBatch from '../entity/CouponBatch'
/**
 * 带有券数量的CouponBatch
 */
export interface CouponBatchAndLink extends CouponBatch {
  productId: number
  number: number
}

export interface CouponOrderPayment {
  /**
   *  订单ID
   */
  orderId: number
  /**
   *  支付金额
   */
  paymentAmount: number

  // ...支付相关参数
}
// 优惠券展示信息
// export class CouponCoreInfo extends Coupon {
//   name: string

//   describe?: string

//   type: number

//   expansionRule?: string

//   parValue: number

//   thresholdAmount?: number

//   applicableType: number

//   applicableCategoryId: number

//   applicableProductId: number

//   isStackable: number

//   count: number
// }

export interface AssetsStatisticsVO {
  /**
   * 有效的平台优惠券数量
   */
  validPlatformCouponCount?: number

  /**
   * 有效的店铺优惠券数量
   */
  validShopCouponCount?: number

  /**
   * 积分
   */
  points?: number

  /**
   * 钱包金额
   */
  walletAmount?: number
}

// export class CouponCoreInfo {
//   id?: number

//   issueType: number

//   _isPlatformCoupon = false

//   thresholdAmount?: number

//   type: number

//   parValue: number

//   expansionRule?: string

//   batchId: number

//   expansionAmount?: number

//   /**
//    *  是否可叠加
//    */
//   isStackable?: boolean

//   _isDiscountValue = false
// }

export class CouponKey {
  public batchId: number
  public expansionAmount: number
  /** 是否可堆叠 */
  public isStackable: boolean
}
export class CouponCoreInfo extends CouponKey {
  /** 优惠卷id */
  public id: number

  /** 领取的用户id */
  public userId: number

  /** 发行的类型 */
  public issueType: number

  /** 最低消费多少金额可用优惠券 */
  public thresholdAmount: number

  /** 优惠卷类型 */
  public type: number

  /** 优惠卷值 */
  public parValue: number

  /** 膨胀规则 */
  public expansionRule: string

  /** 适用类型 */
  public applicableType: number

  /** 适用逻辑 */
  public applicableLogic: number

  /** 适用值 */
  public applicableValues: string

  /** 店铺id */
  public shopId: number

  /** 优惠卷名称 */
  public name: string

  /** 描述信息 */
  public describe: string

  /** 过期时间 */
  public expirationTime: string

  /** 张数 */
  public count: number

  /** 店铺优惠券的店铺信息 */
  public shopDisplayInfo: ShopDisplayInfo

  _isPlatformCoupon = false

  _isDiscountValue = false
}
export default class ShopDisplayInfo {
  /** 店铺id */
  public id: number

  /** 店铺名称 */
  public name: string

  /** 店铺logo */
  public logo: string
}
// export class CouponCoreInfo extends CouponCoreInfo {
//   /**
//    * 店铺优惠券的店铺信息
//    */
//   shopDisplayInfo: ShopDisplayInfo
// }
